Age determination using speech

ABSTRACT

A device may be configured to provide a query to a user. Voice data may be received from the user responsive to the query. Voice recognition may be performed on the voice data to identify a query answer. A confidence score associated with the query answer may be calculated, wherein the confidence score represents the likelihood that the query answer has been accurately identified. A likely age range associated with the user may be determined based on the confidence score. The device to calculate the confidence score may be tuned to increase a likelihood of recognition of voice data for a particular age range of callers.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.11/690,242 filed Mar. 23, 2007, the entirety of which is herebyincorporated by reference herein.

BACKGROUND INFORMATION

Restricting individuals' access to goods, services, or content based onage has long been considered a useful method for ensuring that minors oradults below a certain age are not provided with access to inappropriategoods, services, or content. For example, individuals are typicallyrequired to provide documented proof of age in order to purchasealcohol, or cigarettes, or to access establishments such as bars,nightclubs, and casinos.

The conventional process of displaying photographic proof, however, isnot available when providing remote access to the restricted goods,services, or content. For example, social networking web sites such asMySpace.com allow only individuals over the age of 13 to register withthe site. Similarly, telephony services, such as 1-900 telephoneservices typically require that users be over the age of 18. Suchservices typically require that a potential user affirmatively indicatethat they meet or exceed the required age limit. Unfortunately, suchmethods do not protect against false or mistaken indications of age.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an exemplary communicationssystem in which systems and methods consistent with the exemplaryembodiments described herein may be implemented;

FIG. 2 illustrates an exemplary architecture for implementing the ageverification server of FIG. 1;

FIG. 3 illustrates an exemplary functional diagram of an ageverification server and a dialog processing engine implemented via theserver architecture of FIG. 2;

FIGS. 4A and 4B are flow charts of an exemplary process for performingage verification in an exemplary implementation consistent withembodiments described herein; and

FIG. 5 is a service flow diagram illustrating one exemplary flow ofinteractions between user devices, a service provider, and an ageverification server of FIG. 1.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description of implementations consistent withthe principles of the invention refers to the accompanying drawings. Thesame reference numbers in different drawings may identify the same orsimilar elements. Also, the following detailed description does notlimit the invention. Instead, the scope of the invention is defined bythe appended claims and their equivalents.

Implementations may include an engine and/or server configured to obtainspeech data from an individual via a network, such as a public switchedtelephone network (PSTN) or a Voice over the Internet Protocol (VoIP) orother data network. The server may perform speech recognition on thereceived speech data and may generate a confidence value associated withthe recognized speech. The server may determine a likely age range basedon the generated confidence value.

Implementations described herein facilitate remote and/or automated ageverification or determination. The resulting determination may be usedto provide access to services, facilities, or applications that areage-restricted or age appropriate.

FIG. 1 is a block diagram illustrating an exemplary communicationssystem 100 in which systems and methods consistent with the exemplaryembodiments described herein may be implemented. Communications system100 may include a service provider 110, a network 120, an ageverification server 130, and a number of user devices 140-1 through140-N (collectively referred to as “user devices 140”).

Service provider 110 may include any device or system configured torequest an age verification operation from age verification server 130.For example, service provider 110 may include a web server associatedwith an age-restricted web site, such as MySpace.com, etc. In thisimplementation, a user device 140, such as a personal computer or othernetwork-accessing device, may be configured to connect to serviceprovider 110 via network 120 and request access to or registration withcontent hosted on service provider 110. In response, service provider110 may transmit an age verification request to age verification server130 based on the received access request.

In an alternative implementation, service provider 110 may include aninteractive voice response (IVR) system associated with anage-restricted telephone service. In yet another implementation, serviceprovider 110 may include a laptop or desktop computer, web enabledcellular telephone, personal digital assistant (PDA), and/or plain oldtelephone system (POTS) device associated with a service provider'spoint of service (POS). For example, service provider 110 may include atelephone device or system associated with a casino or other gamblingestablishment, or an alcohol distribution location, such as a liquorstore, or beer distributor.

User devices 140 may include any device capable of accepting a speechinput from a user and making the speech input available to network 120.Additionally, as described above, user devices 140 may include devicescapable of interacting with service provider 110 via network 120. Forexample, user device 140 may include a plain old telephone system (POTS)device, a cellular telephone, and/or a computer or PDA. User devices 140may make data available to network 120 in analog and/or digital form.

For example, one exemplary user device 140 may include an Internetprotocol (IP) telephone that makes a data unit, such as a packet,available to network 120. “Data unit,” as used herein, may refer to anytype of machine-readable data having substantially any format that maybe adapted for use in one or more networks, such as network 120. A dataunit may include packet data and/or non-packet data.

Network 120 may include one or more networks capable of transferringdata and/or speech in analog and/or digital formats. Implementations ofnetwork 120 may include networks designed primarily for speech data,such as PSTNs. In addition, network 120 may include data unit basednetworks, such as local area networks (LANs), metropolitan area networks(MANs) and/or wide area networks (WANs), such as the Internet, that mayoperate using substantially any network protocol, such as Internetprotocol (IP), asynchronous transfer mode (ATM), and/or synchronousoptical network (SONET).

Network 120 may include network devices, such as voice gateways,routers, switches, firewalls, and/or servers (not shown). Network 120may be a hardwired network using wired conductors and/or optical fibersand/or may be a wireless network using free-space optical and/or radiofrequency (RF) transmission paths. Implementations of networks and/ordevices described herein are not limited to any particular data format,type, and/or protocol.

Age verification server 130 may include any device or devices configuredto process speech data received via network 120 and generate an ageverification score indicating a likely age of a user associated with auser device 140. In one implementation, age verification server 130 mayinclude a dialog processing engine 135 configured to place an outboundcall to the user via network 120, provide a predetermined query, receivea voice response from the user, and perform voice recognition on thereceived voice response. In one implementation consistent with aspectsdescribed herein, dialog processing engine 135 may be tuned to recognizeadult voices. Dialog processing engine 135 may generate a confidencescore associated with the recognized speech.

Dialog processing engine 135 may place outbound calls alone or incooperation with age verification server 130. For example, dialogprocessing engine 135 may be configured to cause age verification server130 to place outbound calls to user devices 140. Age verification server130 may generate an age verification score based on the confidence scoreand additional factors, such as correctness of the response, andresponse time for providing the response. Age verification server 130may forward the age verification score to service provider 110 for afinal determination on age validity.

Implementations may include substantially any number of age verificationservers 130 and/or dialog processing engines 135 operating alone or inconcert. Implementations may further include one or more ageverification servers 130 residing in a single network and/or domainand/or spread across multiple networks and/or domains. The functionalityof age verification server 130 may be implemented in other devices, suchas a desktop computer, laptop, or network device, such as a router,gateway or switch. In one implementation, the processing associated withdialog processing engine 135 may be performed by user device 140.Resulting processing responses from user device 140 may be relayed toage verification server 130 for subsequent processing, as will bedescribed in detail below.

FIG. 2 illustrates an exemplary architecture for implementing ageverification server 130 consistent with embodiments described herein. Itwill be appreciated that service provider 110, user device 140, and/orother devices (not shown) that can be used in system 100 may besimilarly configured. As illustrated in FIG. 2, age verification server130 may include bus 210, processor 220, memory 230, read only memory(ROM) 240, storage device 250, input device 260, output device 270, andcommunication interface 280.

Bus 210 may include one or more interconnects that permit communicationamong the components of server 130.

Processor 220 may include any type of processor, microprocessor, orprocessing logic that may interpret and execute instructions. Memory 230may include a random access memory (RAM) or another type of dynamicstorage device that may store information and instructions for executionby processor 220. Memory 230 may also be used to store temporaryvariables or other intermediate information during execution ofinstructions by processor 220.

ROM 240 may include a ROM device and/or another type of static storagedevice that may store static information and instructions for processor220. Storage device 250 may include a magnetic disk and/or optical diskand its corresponding drive for storing information and/or instructions.

Input device 260 may include any mechanism or combination of mechanismsthat permit server 130 to accept information from an operator, such as asystem administrator, via devices, such as a keyboard, a mouse, amicrophone, a pen-based pointing device, and/or a biometric inputdevice, such as a voice recognition device and/or a finger printscanning device. Output device 270 may include any mechanism orcombination of mechanisms that outputs information to the operator,including a display, a printer, a speaker, etc.

Communication interface 280 may include any transceiver-like mechanismthat enables server 130 to communicate with other devices and/orsystems, such as service provider 110 or user device 140. For example,communication interface 280 may include a modem, an Ethernet interface,and/or a port. Alternatively, communication interface 280 may includeother mechanisms for communicating via a network, such as network 120.

Server 130 may perform certain functions in response to processor 220executing software instructions contained in a computer-readable medium,such as memory 230. A computer-readable medium may be defined as one ormore memory devices and/or carrier waves. In alternative embodiments,hardwired circuitry may be used in place of or in combination withsoftware instructions to implement features consistent with theprinciples described herein. Thus, implementations described herein arenot limited to any specific combination of hardware circuitry andsoftware.

FIG. 3 illustrates an exemplary functional diagram of an ageverification server 130 and dialog processing engine 135 implemented viathe server architecture of FIG. 2. In alternative implementations, someor all of the components illustrated in FIG. 3 may be implemented inother devices or combinations of devices, such as service provider 110,user devices 140, and/or other network devices. Referring to FIG. 3,dialog processing engine 135 may include analog-to-digital (A/D)converter 310, parameter storage 320, and analyzer 330.

A/D converter 310 may include a device for converting analog speech datainto a digital format. For example, A/D converter 310 may be implementedas part of input device 260 and may be configured to accept analog voicedata via a network, such as the PSTN and the Internet. A/D converter 310may digitize the analog speech data to produce a series of bits that canbe formatted to operate with analyzer 330. In one implementation, A/Dconverter 310 may be configured to receive digitized speech data from,for example, an IP network, and may pass digitized speech data to othercomponents illustrated in FIG. 3.

Parameter storage 320 may include a device configured to storeparameters that are useful for recognizing words or phrases withinreceived speech samples to generate recognized text and a confidencescore associated with the recognized text. Parameter storage 320 mayinclude grammars, scaling values, conversion units, weighting values,etc. that facilitate the recognition of the received speech data. Forexample, parameter storage 320 may store a grammar that may be used byanalyzer 330 to identify words that may be spoken, patterns in whichspoken words may appear, and/or a spoken language associated with spokenwords. Parameter storage 320 may be implemented as part of memory 230and/or storage device 250 consistent with the embodiments describedherein.

Analyzer 330 may include a device configured to operate on the receivedspeech data and/or the parameters of parameter storage 320 to produce anoutput representative of the correctness of the recognized speechrelative to a query presented to the user, a response time associatedwith the received speech data, as well as a confidence score associatedwith the recognized speech. Analyzer 330 may be implemented viaprocessor 220. Dialog processing techniques employed by analyzer 330 mayuse processing algorithms in combination with the stored parameters torecognize words, sounds, and/or phrases received by analyzer 330.

Analyzer 330 may employ speech recognition techniques to evaluatecharacteristics of a spoken phrase, such as a speaking rate for thecaller, a number of pauses in the spoken phrase, the length of pauses inthe spoken phrase, misarticulation of a portion of the spoken phrase,nonfluency of a portion of the spoken phrase, frequency variability ofthe caller's voice when speaking a portion of the phrase, and/or a vocalintensity of the caller's voice when speaking a portion of the phrase.

In one implementation, analyzer 330 may produce a confidence scorerepresented as a percentage from 0 to 100%, where the percentagerepresents a confidence level reflecting an accuracy of the speechrecognition performed by analyzer 330. For example, a confidence scoreof 86% may indicate that analyzer 330 has determined that transcriptionof the spoken phrase to be highly accurate. Conversely, a confidencescore of 60% may indicate that analyzer 330 has determined that thetranscription of the spoken phrase is less accurate.

Age verification server 130 may include age verification rules storage340 and age verification logic 350, as illustrated in FIG. 3. Ageverification rules storage 340 may include a device configured to storerules that are useful in calculating an age verification score based onoutput from analyzer 330. Age verification rules storage 340 may includescaling values, conversion units, weighting values, etc. that facilitateage verification based on the recognized text and the confidence scoreoutput by analyzer 330.

In one exemplary implementation, age verification rules storage 340 mayinclude a 20% weighting assigned to the confidence score, a 40%weighting assigned to a response time, and a 40% weighting assigned toanswer correctness. Age verification rules storage 340 may furtherinclude algorithms or calculations used by age verification logic 350 incalculating each age verification score component.

For example, age verification rules storage 340 may include statisticalvalues corresponding to average adult confidence scores and expectedresponse times for a number of possible queries. Age verification rulesstorage 340 may further include algorithms for generating a partialscore associated with the confidence score and the response time, basedon an actual confidence score and response time received from analyzer330. In one exemplary implementation, a confidence score component ofthe age verification score may be determined using the calculation:

Age Verification Score_(Conf)=(actual conf. score/average conf.score)×100×W _(C),

where W_(C) is a weighting value associated with the confidence portionof the age verification score. In one implementation W_(C) may be 0.2,relating to a 20% weighting assigned to the confidence portion of theage verification score.

In another exemplary implementation, a response time component of theage verification score may be determined using the calculation:

Age Verification Score_(time)=[(actual resp. time−expected resp.time)/expected resp. time]×100×W _(t),

where W_(t) is a weighting value associated with the response timeportion of the age verification score. In one implementation W_(t) maybe 0.4, relating to a 40% weighting assigned to the response timeportion of the age verification score.

In another exemplary implementation, an answer correctness component ofthe age verification score may be determined using the calculation:

Age Verification Score answer (correct)=100×W _(a), or

Age Verification Score answer (incorrect)=50×W _(a),

where W_(a) is a weighting value associated with the answer correctnessportion of the age verification score. In one implementation W_(a) maybe 0.4, relating to a 40% weighting assigned to the answer correctnessportion of the age verification score.

Age verification rules storage 340 may be implemented as part of memory230 and/or storage device 250 consistent with the embodiments describedherein.

Age verification logic 350 may include a device configured to produce anage verification score based on the output of analyzer 330 and ageverification rules stored in age verification rules storage 340. Ageverification logic 350 and age verification rules storage 340 may beincorporated into analyzer 330 or may be implemented separately.

Age verification logic 350 may accept the confidence score, the responsetime, and an answer correctness indication from analyzer 330, and mayoperate on the received information in a manner defined by the ageverification rules in rules storage 340 to produce an age verificationscore. Alternatively, age verification logic 350 may receive theconfidence score and the response time from analyzer 330 and may performthe answer correctness determination. Age verification logic 350 mayutilize processor 220 and/or storage device 250 and may make a resultingage verification score available to communication interface 280. Ageverification server 130 may also include a memory device to store thegenerated results.

In an alternative implementation, age verification storage 340 mayinclude rules for determining the truthfulness of speech data receivedby age verification server 130. In such an implementation, ageverification logic 350 may utilize such as truthfulness or lie detectiondetermination in addition to or in place of the confidence score orother factors used to generate the age verification score describedabove.

FIGS. 4A and 4B are flow charts of an exemplary process for performingage verification in an exemplary implementation consistent withembodiments described herein. The processing of FIGS. 4A and 4B may beperformed by one or more software and/or hardware components within ageverification server 130 and/or service provider 110. In anotherimplementation, some or all of the processing may be performed by one ormore software and/or hardware components within another device or agroup of devices separate from or including age verification server 130and/or service provider 110.

Processing may begin with server 130 receiving a request for an ageverification determination from service provider 110 (block 400, FIG.4A). As described above, service provider 110 may include such entitiesas a web server, a POS establishment, or a telephony server (e.g., forproviding age-restricted telephony services, such as 1-900 services,tele-voting, etc.). In one implementation, service provider 110 mayinclude a web server configured to receive a registration request from auser associated with a voice-capable user device 140 (such as atelephone device, or a voice over internet protocol (VOIP) device). Thereceived registration request may include the address or number (i.e.,phone number) associated with the user's voice-capable user device 140.The age verification request may include the received address or number.

Age verification server 130 may initiate an outbound call to the userdevice 140 based on the received address or number (block 405). In oneimplementation, the outbound call may be initiated by an IVR systemassociated with age verification server 130. As is known, IVR systemsuse speech-to-text and text-to-speech technology to communicate withusers. It may be determined whether the user associated with user device140 has answered the outbound call (block 410). If not, age verificationserver 130 may make an age determination based on the failure to answer(block 415). For example, age verification server 130 may determine thatthe user is a child if no answer is obtained.

If the user answers the outbound call to user device 140, ageverification server 130 may provide a query to the user (block 420). Inone exemplary implementation, the provided query may request informationmore likely to be known by a user within a known age group. For example,a query such as “What former president stated ‘I am not a crook?’” maybe more likely to be known by an adult rather than a child. Accordingly,a correctness and/or time associated with a received response may beindicative of the age of the user. In another exemplary implementation,the provided query may request that the user repeat or provide aphonetically challenging phrase. For example, a correct response to aquery may be “Sid the Sloth.” Receipt of this response from a child mayresult in a lower confidence score that a similar response received froman adult.

Age verification server 130 may receive voice data from the user inresponse to the provided query (block 425). In one implementation, thereceived voice data may be received from user device 140 via network120. Associated with the received voice data may be a response timeindicating the time taken for the caller to provide the voice data inresponse to the provided query. Age verification server may performspeech recognition on the received response to identify a query answer(block 430). In one exemplary implementation, analyzer 330 of dialogprocessing engine 135 may perform speech recognition in accordance withrules or grammars stored in parameter storage 320 to identify the queryanswer.

As described above, parameter storage 320 may store a number of rules orgrammars associated with performing speech recognition. For example, agrammar may define a particular rule with respect to performing speechrecognition. In one implementation, the grammars stored in parameterstorage 320 may be customized based on constraints associated with thesubject of the speech recognition process. In particular, the grammarsand rules stored in parameter storage 320 may be tuned to increase alikelihood of recognition of an adult caller.

A confidence score associated with the performed speech recognition maybe calculated (block 435). As described above, the confidence scoreassociated with the received voice data may be reflective of thelikelihood that the recognized speech has been accurately identified.For example, a response having a confidence score of 65 is less likelyto be accurate than a response having a confidence score of 85. A scaledconfidence score may be generated by dividing the calculated confidencescore by an average adult confidence score (block 440). The averageadult confidence score may be based on historical accuracydeterminations on a population.

A weighted confidence score may be calculated based on the scaledconfidence score and a weighting factor associated with a confidencescore portion of an overall age verification score (block 445, FIG. 4B).In one implementation, the weighting factor associated with a confidencescore portion may be 0.2 indicating that the confidence score portionaccounts for 20% of the overall age verification score.

A response time score may be calculated based on the response timeassociated with the received voice data and the expected response timeassociated with the provided query (block 450). A faster response timemay be associated with first age group (i.e., an adult age group), whilea slower response time may be associated with a second age group (i.e.,a child age group). In one implementation, the calculated response timescore may be calculated by dividing the difference between the expectedresponse time and the received response time by the expected responsetime.

A weighted response time score may be calculated based on the calculatedresponse time score and a weighting factor associated with a responsetime score portion of the overall age verification score (block 455). Inone implementation, the weighting factor associated with a response timescore portion may be 0.4 indicating that the response time score portionaccounts for 40% of the overall age verification score.

A response correctness score may be calculated based on the correctnessof the identified query answer (block 460). In one implementation, acorrect identified response may be assigned a raw score of 100, while anincorrect identified response may be assigned a raw score of 50.

A weighted response correctness score may be calculated based on thecalculated raw response correctness score and a weighting factorassociated with a response correctness score portion of the overall ageverification score (block 465). In one implementation, the weightingfactor associated with a response correctness score portion may be 0.4indicating that the response correctness score portion accounts for 40%of the overall age verification score.

The overall age verification score may be generated based on theweighted confidence score portion, the weighted response time portion,and the weighted response correctness portion (block 470). TABLE 1illustrates data used to generate several exemplary overall ageverification scores.

TABLE 1 Example 1 Example 2 Example 3 Example 4 Average Confidence Score86 86 86 86 Actual Confidence Score 60 87 65 90 Scaled Confidence Score69.77 101.16 75.58 104.65 Weighted Confidence Score 13.95 20.23 15.1220.93 Expected Response Time 5 4 5 5 Received Response Time 6 2 3 4.5Scaled Response Time −20 50 40 10 Weighted Response Time Score −8 20 164 Response Correctness Score 50 100 50 100 Weighted Resp. CorrectnessScore 20 40 20 40 Overall Age Verification Score 25.95 80.23 51.12 64.93

The overall age verification score may be transmitted or provided toservice provider 110 to assist the service provider in making a decisionregarding a likely age or age group of the user (block 475). In oneimplementation, the age verification score may be transmitted to serviceprovider 110 via network 120. In an alternative implementation, serviceprovider 110 may allow age verification server 130 to make the agedetermining on its behalf Using the examples of TABLE 1, it may bedetermined that the caller in Example 1 is a child, the caller inExample 2 is an adult, and the callers in Examples 3 and 4 may be eitherchildren or adults and may required additional screening and/orprocessing.

For example, in one embodiment, an overall age verification score lessthan approximately 50 may be associated with a child caller; an overallage verification score between approximately 50 and 74 may be associatedwith either a child caller or an adult caller and additional processingand/or handling may be required; and an overall age verification scoregreater than 74 may be associated with an adult caller. These ranges areprovided for exemplary purposes only and service provider 130 maycorrespond associated age verification scores with age verificationdecisions based on a multitude of factors, such as the type of servicebeing provided, etc.

Age verification server 130 may receive an age verification decisionfrom service provider 130 (block 480). In response to the receiveddecision from service provider 110, age verification server 130 maytransmit an indication reflecting the received age verification decisionto user device 140 via network 120 (block 485). Optionally, in animplementation initiated by a network-accessible user device 140 (suchas a web-accessible personal computer or mobile phone), age verificationserver 130 may transmit a corresponding age verification decision tonetwork-accessible user device 140. For example, age verification server130 may transmit a “registration failed” message to the initiating userdevice 140.

FIG. 5 is a service flow diagram illustrating one exemplary flow ofinteractions between a user of user device(s) 140, a service provider110, and an age verification server 130. Initially, a registrationrequest from a first user device 140 may be received by a serviceprovider web server 110 (interaction 500). This request may include userinformation and should include at least a telephone number or VOIPaddress for receiving a telephony call relating to the registrationrequest. Next, an age verification request may be transmitted fromservice provider web server 110 to age verification server 130(interaction 510). As noted above, this request should include at leastthe telephone number or VOIP address provided in the receivedregistration request.

Age verification server 130 may make an outbound call to user telephonydevice 140, the call including at least a query useful in making an ageverification decision (interaction 520). Age verification server 130 mayreceive a voice response from user telephony device 140 (interaction530) and may perform speech recognition thereon.

As described above, age verification server 130, based on stored rulesand parameters, may calculate an age verification score associated withthe user. Age verification server 130 may transmit the calculated ageverification score to service provider web server 110 (interaction 540).As described above, service provider web server 110 may use the receivedage verification score to make a determination regarding whether toallow access or registration to the user. Age verification server 130may receive the age verification determination from service provider webserver 110 (interaction 550) and may notify the user of the decision(interaction 560). Optionally, service provider web server 110 may grantor deny the registration request based on the age verificationdetermination and may notify the user at user web device 140(interaction 570).

Implementations described herein may allow for automated ageverification based on vocal characteristics of a user. Theimplementations may provide a query to a user and may receive voice dataincluding a query answer. Speech recognition may be performed on thevoice data to identify the query answer and may generate a confidencescore relating to the query answer. The confidence score, alone, or incombination with other factors, such as a response time and acorrectness of the query answer, may be used to generate an ageverification score. The age verification score may be used to grant ordeny access to requested content or services.

The foregoing description of exemplary embodiments of the inventionprovides illustration and description, but is not intended to beexhaustive or to limit the invention to the precise form disclosed.Modifications and variations are possible in light of the aboveteachings or may be acquired from practice of the invention.

For example, implementations consistent with the principles of theinvention can be implemented using devices and configurations other thanthose illustrated in the Figures and described in the specificationwithout departing from the spirit of the invention. Devices and/orcomponents may be added and/or removed from the implementations of FIGS.1-3 depending on specific deployments and/or applications. Further,disclosed implementations may not be limited to any specific combinationof hardware, software and/or firmware. In addition, while a series ofacts or interactions have been described with respect to FIGS. 4A, 4B,and 5, the order of acts may be varied in other implementations.Moreover, non-dependent acts may be implemented in parallel.

Details of algorithms and/or techniques for analyzing speech sampleshave not been provided since implementations consistent with theembodiments described herein may use substantially any such algorithmsand/or techniques and/or may be customized based on particularrequirements associated with an implementation of the invention.

No element, act, or instruction used in the description of the inventionshould be construed as critical or essential to the invention unlessexplicitly described as such. Also, as used herein, the article “a” isintended to include one or more items. Where only one item is intended,the term “one” or similar language is used. Further, the phrase “basedon,” as used herein is intended to mean “based, at least in part, on”unless explicitly stated otherwise.

The scope of the invention is defined by the claims and theirequivalents.

1. A device, comprising: one or more processors configured to: provide aquery to a user, receive voice data from the user responsive to thequery, perform voice recognition on the voice data to identify a queryanswer, calculate a confidence score associated with the query answer,wherein the confidence score represents the likelihood that the queryanswer has been accurately identified, and determine a likely age rangeassociated with the user based on the confidence score, wherein the oneor more processors configured to calculate the confidence score aretuned to increase a likelihood of recognition of voice data for aparticular age range of callers.
 2. The device of claim 1, wherein theone or more processors to calculate the confidence score are tuned toincrease a likelihood of recognition of adult callers.
 3. The device ofclaim 1, wherein the one or more processors are further configured to:determine a correctness of the query answer, and determine the likelyage range associated with the user based on the confidence score and thecorrectness of the query answer.
 4. The device of claim 3, wherein theone or more processors are further configured to weight the confidencescore and the correctness of the query answer to increase accuracy ofthe likely age range determination.
 5. The device of claim 3, whereinthe one or more processors are further configured to: determine aresponse time associated with the voice data as an amount of timebetween providing the query and receiving the voice data, and determinethe likely age range associated with the user based on the confidencescore, the correctness of the query answer, and the response time. 6.The device of claim 5, wherein a faster response time corresponds to anincreased likelihood that the user is an adult and a slower responsetime corresponds to a decreased likelihood that the user is an adult. 7.The device of claim 5, wherein the one or more processors are furtherconfigured to weight the confidence score, the correctness of the queryanswer, and the response time to increase accuracy of the likely agerange determination.
 8. The device of claim 7, wherein the confidencescore is weighted by 0.2, the correctness of the query answer isweighted by 0.4, and the determined response time is weighted by 0.4. 9.The device of claim 1, wherein the one or more processors are furtherconfigured to: receive a request for age verification from a serviceprovider; and provide the query to the user in response to the request.10. The device of claim 9, wherein the service provider comprises a webserver associated with an age-restricted service.
 11. The device ofclaim 9, wherein the service provider comprises a telephony serverassociated with an age-restricted telephony service.
 12. The device ofclaim 9, wherein the one or more processors are further configured totransmit the likely age range associated with the user to the serviceprovider.
 13. A computing-device implemented method, comprising:providing a query to a user, receiving voice data from the userresponsive to the query, performing voice recognition on the voice datato identify a query answer, calculating a confidence score associatedwith the query answer, wherein the confidence score represents thelikelihood that the query answer has been accurately identified, anddetermining a likely age range associated with the user based on theconfidence score, wherein the voice recognition is performed in a mannerto increase a likelihood of recognition of voice data for a particularage range of callers.
 14. The computing-device implemented method ofclaim 13, wherein the voice recognition is performed in a manner toincrease a likelihood of recognition of adult callers.
 15. Thecomputing-device implemented method of claim 13, further comprising:determining a correctness of the query answer, and determining thelikely age range associated with the user based on the confidence scoreand the correctness of the query answer.
 16. The computing-deviceimplemented method of claim 15, further comprising: determining aresponse time associated with the voice data as an amount of timebetween providing the query and receiving the voice data, anddetermining the likely age range associated with the user based on theconfidence score, the correctness of the query answer, and the responsetime.
 17. The computing-device implemented method of claim 13, furthercomprising: weighting the confidence score based on a confidence scoreweighting factor; weighting the correctness of the query answer based ona correctness weighting factor; weighting the response time based on aresponse time weighting factor; and determining the likely age rangeassociated with the user based on the weighted confidence score, theweighted correctness of the query answer, and the weighted responsetime.
 18. The computing-device implemented method of claim 13, furthercomprising: receiving a request for age verification from a serviceprovider; providing the query to the user in response to the request;and transmit the likely age range associated with the user to theservice provider.
 19. A computer-readable memory device having storedthereon sequences of instructions which, when executed by at least oneprocessor, cause the at least one processor to: provide a query to auser, receive voice data from the user responsive to the query, performvoice recognition on the voice data to identify a query answer,calculate a confidence score associated with the query answer, whereinthe confidence score represents the likelihood that the query answer hasbeen accurately identified, and determine a likely age range associatedwith the user based on the confidence score, wherein the one or moreprocessors to calculate the confidence score are tuned to increase alikelihood of recognition of voice data for a particular age range ofcallers.
 20. The computer-readable memory device of claim 19, whereinthe instructions cause the at least one processor to: determine acorrectness of the query answer, and determine the likely age rangeassociated with the user based on the confidence score and thecorrectness of the query answer.